x11: Use macros for byte order to set byte order
authorBenjamin Otte <otte@redhat.com>
Tue, 1 Feb 2011 05:04:01 +0000 (06:04 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 1 Feb 2011 05:33:02 +0000 (06:33 +0100)
No need to run sophisticated functions to guess it.

gdk/x11/gdkdnd-x11.c

index eab817f826465d1ce7fb888ceae8b55d92d6a11b..2784060c59b16556dffed8881433ebd713442427 100644 (file)
@@ -846,7 +846,11 @@ enum {
 /* Byte swapping routines. The motif specification leaves it
  * up to us to save a few bytes in the client messages
  */
-static gchar local_byte_order = '\0';
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+static gchar local_byte_order = 'B';
+#else
+static gchar local_byte_order = 'l';
+#endif
 
 #ifdef G_ENABLE_DEBUG
 static void
@@ -862,13 +866,6 @@ print_target_list (GList *targets)
 }
 #endif /* G_ENABLE_DEBUG */
 
-static void
-init_byte_order (void)
-{
-  guint32 myint = 0x01020304;
-  local_byte_order = (*(gchar *)&myint == 1) ? 'B' : 'l';
-}
-
 static guint16
 card16_to_host (guint16 x, gchar byte_order)
 {
@@ -3132,7 +3129,6 @@ void
 _gdk_x11_display_init_dnd (GdkDisplay *display)
 {
   int i;
-  init_byte_order ();
 
   for (i = 0; i < G_N_ELEMENTS (xdnd_filters); i++)
     {